namespace RPG.Domain.Character.Events
{
    public class CharacterCreatedEvent : DomainEvent
    {
        public CharacterId CharacterId { get; }
        public string Name { get; }

        public CharacterCreatedEvent(CharacterId characterId, string name)
        {
            CharacterId = characterId;
            Name = name;
        }
    }

    public class CharacterLevelUpEvent : DomainEvent
    {
        public CharacterId CharacterId { get; }
        public Level NewLevel { get; }

        public CharacterLevelUpEvent(CharacterId characterId, Level newLevel)
        {
            CharacterId = characterId;
            NewLevel = newLevel;
        }
    }

    public class ItemEquippedEvent : DomainEvent
    {
        public CharacterId CharacterId { get; }
        public ItemId ItemId { get; }

        public ItemEquippedEvent(CharacterId characterId, ItemId itemId)
        {
            CharacterId = characterId;
            ItemId = itemId;
        }
    }
}
